import Vue from "vue";

import "normalize.css/normalize.css"; // A modern alternative to CSS resets

import ElementUI from "element-ui";
import "element-ui/lib/theme-chalk/index.css";

import "@/styles/index.scss"; // global css
import "@/styles/iconfont.css";

import App from "./App";
import store from "./store";
import router from "./router";

//引入
import * as echarts from "echarts";

Vue.prototype.$echarts = echarts;

// 引入封装的ajax
import Http from "./service/http";
Vue.prototype.$Http = Http.Http;

// 正则
import Reg from "./utils/reg";
Vue.prototype.$Reg = Reg;

import "@/icons"; // icon
import "@/permission"; // permission control

import utils from "@/utils/utils.js";
Vue.prototype.utils = utils;


import moment from 'moment'
Vue.prototype.$moment = moment
// 打印功能
import Print from "@/utils/print";
Vue.use(Print);

//文件下载地址
Vue.prototype.$exportUlr = 'https://api.yiweika.net/'

//全局混淆input框加回车事件
// Vue.mixin({
//     data() {
//         return {

//         }
//     },
//     mounted(){

//     },
//     methods:{
//         searchBoxEnter(){
//             if (this.handleCurrentChange){
//                 this.handleCurrentChange();
//             }else {
//                 console.error(this.$route.path+"回车事件");
//             }
//         }
//     }
// })
Vue.directive("searchBoxEnter", {
    bind(el, { }, vnode) {
        let that = vnode.context;
        let inputList = el.querySelectorAll("input");
        for (let input of inputList) {
            input.addEventListener('keydown', () => {
                var event = window.event || arguments.callee.caller.arguments[0];
                if (event.keyCode == 13) {
                    if (that.handleCurrentChange) {
                        that.handleCurrentChange(1)

                    } else {
                        console.error(that.$route.path + "回车事件");
                    }
                }
            })
        }
    },
})


import encapsulate from "./utils/encapsulate";
Vue.use(encapsulate);

/**
 * If you don't want to use mock-server
 * you want to use MockJs for mock api
 * you can execute: mockXHR()
 *
 * Currently MockJs will be used in the production environment,
 * please remove it before going online ! ! !
 */
// if (process.env.NODE_ENV === "production") {
//     const { mockXHR } = require("../mock");
//     mockXHR();
// }
// set ElementUI lang to EN
// Vue.use(ElementUI, {
//     locale
// })
// 如果想要中文版 element-ui，按如下方式声明
ElementUI.Input.props.clearable.default = true
Vue.use(ElementUI);
Vue.config.productionTip = false;

new Vue({
    el: "#app",
    router,
    store,
    render: h => h(App)
});